#include "anapencere.h"
#include "ui_anapencere.h"
#include <QProcess>
#include <QString>
#include <QMessageBox>

AnaPencere::AnaPencere(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::AnaPencere)
{
    ui->setupUi(this);
    QProcess process;
    process.start("gsettings list-schemas");
    process.waitForFinished(-1); // Bitene kadar sonsuza dek bekleyecektir
    ui->SemalarBox->addItems(QString(process.readAll()).split('\n'));
}

AnaPencere::~AnaPencere()
{
    delete ui;
}

void AnaPencere::on_SemalarBox_currentTextChanged(const QString &arg1)
{
    ui->ListKeysBox->clear();
    QString semalar = ui->SemalarBox->currentText();
    QProcess process;
    process.start("gsettings list-keys "+semalar);
    process.waitForFinished(-1); // Bitene kadar sonsuza dek bekleyecektir
    ui->ListKeysBox->addItems(QString(process.readAll()).split('\n'));
}

void AnaPencere::on_ListKeysBox_currentTextChanged(const QString &arg1)
{
    ui->DegerBox->clear();
    QString semalar = ui->SemalarBox->currentText();
    QString liste = ui->ListKeysBox->currentText();
    QProcess process;
    process.start("gsettings range "+semalar+" "+liste);
    process.waitForFinished(-1); // Bitene kadar sonsuza dek bekleyecektir
    ui->DegerBox->addItems(QString(process.readAll()).split('\n'));
}

void AnaPencere::on_DegerBox_currentTextChanged(const QString &arg1)
{
    ui->SimdikiDeger->clear();
    QString semalar = ui->SemalarBox->currentText();
    QString liste = ui->ListKeysBox->currentText();
    QProcess process;
    process.start("gsettings get "+semalar+" "+liste);
    process.waitForFinished(-1); // Bitene kadar sonsuza dek bekleyecektir
    ui->SimdikiDeger->setText(QString(process.readAll()));
}

void AnaPencere::on_ResetButon_clicked()
{
    QString semalar = ui->SemalarBox->currentText();
    QString liste = ui->ListKeysBox->currentText();
    QProcess::execute("gsettings reset "+semalar+" "+liste);
}

void AnaPencere::on_UygulaButon_clicked()
{
    QString semalar = ui->SemalarBox->currentText();
    QString liste = ui->ListKeysBox->currentText();
    QString deger = ui->DegerBox->currentText();
    QProcess::execute("gsettings set "+semalar+" "+liste+" "+deger);
}

void AnaPencere::on_HakkindaButon_clicked()
{
    QMessageBox::information(this, "GSettings-GUI","Gsettings için basit bir arayüz \nCihan Alkan Tarafından Hazırlanmıştır.");
}
